17 research outputs found

    Exploring Capability-based security in software design with Rust

    Get PDF
    Access control is one of the most critical aspects of software engineering when designing secure software. In 2021, the Open Web Application Security Project (OWASP)foundation_owasp_nodate released a new Top10 several years after its last release in 2017. Broken Access Control made a significant jump to the top of the list, marking it as the most prone and vital security aspect of software development. Previous research shows that security challenges, such as Confused Deputy, can be solved with a capability-based approach. To achieve a capability-based system for REepresentational State Transfer (RESTful) Application Programming Interfaces(APIs), we use the Rust programming language to explore how we can create a capability design pattern. We want to create a library for the developer to harness the power of capabilities when writing the code, adhering to the capability properties and Principles of Least Privilege (PoLP), and creating a RESTful API. We created a capability library we used to implement a RESTful API, simple-api, connecting it with Grant Negotiation and Authorization Protocol (GNAP) into a proof-of-concept capability-based system published on GitHub. Resulting in successfully creating capability-based access control for RESTful APIs. We show a use-case where the core access control model is Capabilities and potentially mitigates confused deputies in a RESTful API software architecture.Masteroppgåve i informatikkINF399MAMN-INFMAMN-PRO

    Electoral Dioramas: On the Problem of Representation in Voting Advice Applications

    Get PDF
    Voting Advice Applications (VAAs) are online tools designed to help citizens decide how to vote. They typically offer their users a representation of what is at stake in an election by matching user preferences on issues with those of parties or candidates. While the use of VAAs has boomed in recent years in both established and new democracies, this new phenomenon in the electoral landscape has received little attention from political theorists. The current academic debate is focused on epistemic aspects of the question how a VAA can adequately represent electoral politics. We argue that conceptual and normative presuppositions at play in the background of the tool are at least as important. Even a well-developed VAA does not simply reflect what is at stake in the election by neutrally passing along information. Rather, it structures political information in a way that is informed by the developers’ presuppositions. Yet, these presuppositions remain hidden if we interpret the tool as a mirror that offers the user a reflection of him/herself situated within the political landscape. VAAs should therefore be understood as electoral dioramas, staged according to a contestable picture of politics

    Exploring Capability-based security in software design with Rust

    Get PDF
    Access control is one of the most critical aspects of software engineering when designing secure software. In 2021, the Open Web Application Security Project (OWASP)foundation_owasp_nodate released a new Top10 several years after its last release in 2017. Broken Access Control made a significant jump to the top of the list, marking it as the most prone and vital security aspect of software development. Previous research shows that security challenges, such as Confused Deputy, can be solved with a capability-based approach. To achieve a capability-based system for REepresentational State Transfer (RESTful) Application Programming Interfaces(APIs), we use the Rust programming language to explore how we can create a capability design pattern. We want to create a library for the developer to harness the power of capabilities when writing the code, adhering to the capability properties and Principles of Least Privilege (PoLP), and creating a RESTful API. We created a capability library we used to implement a RESTful API, simple-api, connecting it with Grant Negotiation and Authorization Protocol (GNAP) into a proof-of-concept capability-based system published on GitHub. Resulting in successfully creating capability-based access control for RESTful APIs. We show a use-case where the core access control model is Capabilities and potentially mitigates confused deputies in a RESTful API software architecture
    corecore